{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# The new kid on the statistics-in-Python block: `pingouin`"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Setup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pingouin as pg\n",
    "import numpy as np\n",
    "import pandas as pd \n",
    "import seaborn as sns\n",
    "\n",
    "from scipy.stats import ttest_ind\n",
    "from statsmodels.stats.power import TTestIndPower\n",
    "import statsmodels.api as sm\n",
    "from statsmodels.formula.api import ols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "%config InlineBackend.figure_format ='retina'\n",
    "%matplotlib inline\n",
    "sns.set_style('darkgrid')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Statistical functionalities"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### T-test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# set seed\n",
    "np.random.seed(42)\n",
    "\n",
    "# generate data\n",
    "x = np.random.normal(loc=2, scale=3, size=100)\n",
    "y = np.random.normal(loc=0, scale=1, size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ttest_indResult(statistic=5.772051762923951, pvalue=2.986379980167149e-08)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ttest_ind(x, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>T</th>\n",
       "      <th>dof</th>\n",
       "      <th>tail</th>\n",
       "      <th>p-val</th>\n",
       "      <th>CI95%</th>\n",
       "      <th>cohen-d</th>\n",
       "      <th>BF10</th>\n",
       "      <th>power</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>T-test</th>\n",
       "      <td>5.772052</td>\n",
       "      <td>198</td>\n",
       "      <td>two-sided</td>\n",
       "      <td>2.986380e-08</td>\n",
       "      <td>[1.1, 2.24]</td>\n",
       "      <td>0.816291</td>\n",
       "      <td>3.671e+05</td>\n",
       "      <td>0.999923</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               T  dof       tail         p-val        CI95%   cohen-d  \\\n",
       "T-test  5.772052  198  two-sided  2.986380e-08  [1.1, 2.24]  0.816291   \n",
       "\n",
       "             BF10     power  \n",
       "T-test  3.671e+05  0.999923  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pg.ttest(x, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Power analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Required sample size (statsmodels): 64\n",
      "Required sample size (pingouin): 64\n"
     ]
    }
   ],
   "source": [
    "# parameters  \n",
    "EFFECT_SIZE = 0.5\n",
    "ALPHA = 0.05 \n",
    "POWER = 0.8\n",
    "\n",
    "# using statsmodels\n",
    "power_analysis = TTestIndPower()\n",
    "sample_size = power_analysis.solve_power(effect_size=EFFECT_SIZE, \n",
    "                                         power=POWER, \n",
    "                                         alpha=ALPHA)\n",
    "\n",
    "print(f'Required sample size (statsmodels): {sample_size:.0f}')\n",
    "\n",
    "# using pingouin\n",
    "sample_size = pg.power_ttest(d=EFFECT_SIZE, \n",
    "                             alpha=ALPHA, \n",
    "                             power=POWER, \n",
    "                             n=None)\n",
    "\n",
    "print(f'Required sample size (pingouin): {sample_size:.0f}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plotting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAooAAAIpCAYAAAAl/BnMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd3wUxf/H8ddeTbtL6DX0Jr0pECB0aQLSQu9SBUGKir1hBwVEEJAeOggqiKJ0RCwgX0EBRTrSTS/X9vvHkYPjEki5VD7Px+P3+HEzuzuTW/nyzuzOjKKqqooQQgghhBB30WR3B4QQQgghRM4kQVEIIYQQQiRLgqIQQgghhEiWBEUhhBBCCJEsCYpCCCGEECJZEhSFEEIIIUSyJCgKIYQQQohkSVAUQgghhBDJkqAohBBCCCGSJUFRCCGEEEIkS4KiEEIIIYRIlgRFIYQQQgiRLAmKQgghhBAiWbrs7oAQQmSFf/75h7Vr13LgwAHOnTuH1WolKCiIatWq0b59ezp27Iher/dKWwcOHGDTpk0cOnSIK1euAFCkSBHq1q3L448/TqNGjdJ13cqVKydbrigKer0es9lM5cqV6dSpE126dEGjuT0WsHHjRqZOnUq1atXYuHFjutq/26lTpyhfvrxXriWEyJkUVVXV7O6EEEJkFqvVyvvvv8/y5ctxOBzodDpKly6N0WjkwoULREVFAVCuXDnmzJlDuXLl0t3WtWvXeO6559i3bx8Afn5+BAcH43A4OHfuHImJiQC0atWK9957j4CAgDRdPykoVqpUyePcxMRELl++zI0bNwBo2bIlH3/8MVqtFvBuULx27RrTpk3j/PnzbNiwIUPXEkLkbDKiKITIsxwOB+PGjWPnzp34+voyZswYevXqRWBgoOuYffv2MWPGDI4dO0ZYWBgLFiygTp06aW7r+vXr9OnTh/Pnz1O8eHGmTJlC69atMRgMAFgsFjZv3szMmTP5/vvvCQsLY8WKFeTPnz/Nbb344os0aNDAo1xVVVatWsXrr7/Ojh07WLlyJQMGDEjz9e9n7969fP3111SrVs3r1xZC5CzyjqIQIs+aP38+O3fuxM/Pj6VLlzJixAi3kAjQpEkTVq5cSbNmzYiOjmbKlCnExcWlua1nnnmG8+fPU7FiRdavX0+HDh1cIRHAYDDQs2dPVq1aRcmSJTl16hRvvPFGhn/GOymKQt++fenQoQMAK1eu9Or1hRAPHgmKQog86b///mPevHmAM8TVqlUrxWN9fHx45513CAoK4vz5867zUmvPnj3s378frVbLhx9+SIECBVI8Njg4mDfffBOArVu3uh5Te1PLli0B53uZsbGxXr++EOLBIUFRCJEnffHFF8THx1OgQAG6d+9+3+Pz589Pv379AFi7di12uz3Vba1ZswaAFi1aULFixfse36hRIx5++GEAVq9enep2UstkMrn+nJqgmJiYyOLFi+nRowd16tShVq1aPPbYY3z00UdERka6HduyZUumTp0KwLFjx6hcubIrmAoh8h4JikKIPGnv3r2AM5Td+Qj4Xlq3bg04RyOPHj2aqnPsdjs//PADAKGhoanuX1Jb+/fvT1MoTY2zZ88CYDQa7/sO5M2bN+nZsyfvvPMOR48epVixYpQtW5bTp08zd+5cHn/8cU6dOuU6vnr16pQpUwZwTtapW7cu1atX92r/hRA5hwRFIUSedPLkSSDlJWWSU7lyZRRFcTv/fi5cuOB6pzGtbQHExcVx8eLFVJ93P1ar1TVKGRISgk537zmLTz/9NCdOnKBSpUps2bKFrVu3smnTJnbs2EHDhg25dOkSY8aMcc3YnjVrFiNHjgSgbNmyrFq1ilmzZnmt/0KInEWCohAiT7p58yYAZrM51edotVqCgoIA56hiaiQtR5PWtgoWLOj6c1JfMyImJoaff/6ZUaNGcerUKfR6PWPHjr3nOb/88gs//vgjRqORefPmua2JWKRIEebMmUPRokU5c+aMLIMjxANKlscRQog7JI0oJv3/zG4HcFsYOzUGDhx4z3o/Pz+mTZt230fCu3btAqBZs2aUKFHCoz4gIIBu3brxySefsGvXLvr27Zumfgohcj8JikKIPClfvnxcvXrVYzLGvaiqSnR0tOv81LjzHcC0tBUREeH6c2rbSnL3gtuKouDr60uhQoWoUaMGHTt2dI2M3suZM2cAeOihh1I8JmmtxKRjhRAPFgmKQog8qVKlSly9epXjx4+n+pyTJ09itVoBXI9h169fn+Jj11WrVhEcHIyfnx9xcXEcP3481Yt1//nnn4Bz9K9o0aKp7iOkvOB2WiXNiPb390/xGD8/P7djhRAPFgmKQog8KTQ0lH379vHDDz+QmJiI0Wi87zm7d+8GnMGp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p0/niiuuYO/evRw+fJhp06aRl5cHgNvtprS0lFWrVpGfn092djYul4u9e/fS1tZGTk4Od9xxx6Bt3njjjcydO5fNmzeTk5PDlClTcDgc1NXVcezYMebMmRP02sLY2FhaW1tZsmQJN998s2UbHo+HRYsW8cILLzBz5kymTZtGIBDggw8+4OLFi1RUVAB9gfGePXtYtGgROTk5REVF0dzcTGNjI1dddRWnTp0adn4/p9NJZWUlDz74IHfddRe33XYbNpuN2tpay6n1u+++m5UrVzJ37lxyc3Pp6urC6/WSkpISNMo2adIkEhISqKmp4fTp06SmpnLs2DE++ugjIiMjCQsLG3EuwrFjxwJ9Sc9dLhf5+flDGg2Ojo6mvLycJUuWmM9AbGwsjY2NNDc3k5aWZr6TOzs7m8zMTLZv387BgwfJyMigvb3dTP6t1wWKDE6Boohcdvfeey/Jycls2LABn89Hb28vbrebxx57jMLCQnP0CWDevHkkJiby2muv4fP5CAQCeDweioqKuPPOO4fc5vLly0lLS2P79u3s3r0bu91OUlISDz30UEhKmaVLl7Js2TJqa2s5derUgMFocXExSUlJbNq0iZqaGsLCwsjMzKSkpMRM9D116lRWr15NdXU17733Hk6nE7fbzRNPPEFmZib5+fl88skn5ObmDusa3nLLLWzZsoXVq1fj9XoZPXo0BQUFREdHU1VVFVT3nnvuoaenh23btrFjxw7i4+MpKipi8uTJzJo1y6zncrl4/fXXqaqq4osvvmD//v3Ex8eTl5dHcXExDzzwAPv37+f8+fPm+tGhSkhI4JFHHmHTpk1s3boVj8czpEAR+tIuxcXFsW7dOvbt20dnZycJCQksXLiQ++67z+yLw+Fg3bp1VFdXU1dXx9atW4mMjCQjI4OioiIzHZGIDCws8J/YhiYiIv+VNm7cSEVFBRUVFUFBoIjIUGiNooiIiIhYUqAoIiIiIpYUKIqIiIiIJa1RFBERERFLGlEUEREREUsKFEVERETEkgJFEREREbGkQFFERERELClQFBERERFLChRFRERExJICRRERERGxpEBRRERERCwpUBQRERERSwoURURERMSSAkURERERsaRAUUREREQsKVAUEREREUt/AHAKIn3t2TVkAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 360x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 276,
       "width": 325
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(42)\n",
    "x = np.random.normal(size=100)\n",
    "ax = pg.qqplot(x, dist='norm')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ANOVA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# loading and transforming data\n",
    "df = pg.read_dataset('anova')\n",
    "df = df.drop('Subject', axis=1)\n",
    "df.columns = [x.lower().replace(' ', '_') for x in df.columns]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Source</th>\n",
       "      <th>SS</th>\n",
       "      <th>DF</th>\n",
       "      <th>MS</th>\n",
       "      <th>F</th>\n",
       "      <th>p-unc</th>\n",
       "      <th>np2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>hair_color</td>\n",
       "      <td>1360.726316</td>\n",
       "      <td>3</td>\n",
       "      <td>453.575439</td>\n",
       "      <td>6.791407</td>\n",
       "      <td>0.004114</td>\n",
       "      <td>0.575962</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Within</td>\n",
       "      <td>1001.800000</td>\n",
       "      <td>15</td>\n",
       "      <td>66.786667</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Source           SS  DF          MS         F     p-unc       np2\n",
       "0  hair_color  1360.726316   3  453.575439  6.791407  0.004114  0.575962\n",
       "1      Within  1001.800000  15   66.786667       NaN       NaN       NaN"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aov = pg.anova(dv='pain_threshold', between='hair_color', \n",
    "               data=df, detailed=True)\n",
    "aov"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>df</th>\n",
       "      <th>sum_sq</th>\n",
       "      <th>mean_sq</th>\n",
       "      <th>F</th>\n",
       "      <th>PR(&gt;F)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>hair_color</th>\n",
       "      <td>3.0</td>\n",
       "      <td>1360.726316</td>\n",
       "      <td>453.575439</td>\n",
       "      <td>6.791407</td>\n",
       "      <td>0.004114</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Residual</th>\n",
       "      <td>15.0</td>\n",
       "      <td>1001.800000</td>\n",
       "      <td>66.786667</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              df       sum_sq     mean_sq         F    PR(>F)\n",
       "hair_color   3.0  1360.726316  453.575439  6.791407  0.004114\n",
       "Residual    15.0  1001.800000   66.786667       NaN       NaN"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ols_model = ols('pain_threshold ~ hair_color', data=df).fit()\n",
    "aov = sm.stats.anova_lm(ols_model)\n",
    "aov"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Linear Regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_boston\n",
    "X, y = load_boston(return_X_y=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>names</th>\n",
       "      <th>coef</th>\n",
       "      <th>se</th>\n",
       "      <th>T</th>\n",
       "      <th>pval</th>\n",
       "      <th>r2</th>\n",
       "      <th>adj_r2</th>\n",
       "      <th>CI[2.5%]</th>\n",
       "      <th>CI[97.5%]</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Intercept</td>\n",
       "      <td>36.459488</td>\n",
       "      <td>5.103459</td>\n",
       "      <td>7.144074</td>\n",
       "      <td>3.283438e-12</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>26.432226</td>\n",
       "      <td>46.486751</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>x1</td>\n",
       "      <td>-0.108011</td>\n",
       "      <td>0.032865</td>\n",
       "      <td>-3.286517</td>\n",
       "      <td>1.086810e-03</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>-0.172584</td>\n",
       "      <td>-0.043438</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>x2</td>\n",
       "      <td>0.046420</td>\n",
       "      <td>0.013727</td>\n",
       "      <td>3.381576</td>\n",
       "      <td>7.781097e-04</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>0.019449</td>\n",
       "      <td>0.073392</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>x3</td>\n",
       "      <td>0.020559</td>\n",
       "      <td>0.061496</td>\n",
       "      <td>0.334310</td>\n",
       "      <td>7.382881e-01</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>-0.100268</td>\n",
       "      <td>0.141385</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>x4</td>\n",
       "      <td>2.686734</td>\n",
       "      <td>0.861580</td>\n",
       "      <td>3.118381</td>\n",
       "      <td>1.925030e-03</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>0.993904</td>\n",
       "      <td>4.379563</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>x5</td>\n",
       "      <td>-17.766611</td>\n",
       "      <td>3.819744</td>\n",
       "      <td>-4.651257</td>\n",
       "      <td>4.245644e-06</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>-25.271634</td>\n",
       "      <td>-10.261589</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>x6</td>\n",
       "      <td>3.809865</td>\n",
       "      <td>0.417925</td>\n",
       "      <td>9.116140</td>\n",
       "      <td>1.979441e-18</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>2.988727</td>\n",
       "      <td>4.631004</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>x7</td>\n",
       "      <td>0.000692</td>\n",
       "      <td>0.013210</td>\n",
       "      <td>0.052402</td>\n",
       "      <td>9.582293e-01</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>-0.025262</td>\n",
       "      <td>0.026647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>x8</td>\n",
       "      <td>-1.475567</td>\n",
       "      <td>0.199455</td>\n",
       "      <td>-7.398004</td>\n",
       "      <td>6.013491e-13</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>-1.867455</td>\n",
       "      <td>-1.083679</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>x9</td>\n",
       "      <td>0.306049</td>\n",
       "      <td>0.066346</td>\n",
       "      <td>4.612900</td>\n",
       "      <td>5.070529e-06</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>0.175692</td>\n",
       "      <td>0.436407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>x10</td>\n",
       "      <td>-0.012335</td>\n",
       "      <td>0.003761</td>\n",
       "      <td>-3.280009</td>\n",
       "      <td>1.111637e-03</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>-0.019723</td>\n",
       "      <td>-0.004946</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>x11</td>\n",
       "      <td>-0.952747</td>\n",
       "      <td>0.130827</td>\n",
       "      <td>-7.282511</td>\n",
       "      <td>1.308835e-12</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>-1.209795</td>\n",
       "      <td>-0.695699</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>x12</td>\n",
       "      <td>0.009312</td>\n",
       "      <td>0.002686</td>\n",
       "      <td>3.466793</td>\n",
       "      <td>5.728592e-04</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>0.004034</td>\n",
       "      <td>0.014589</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>x13</td>\n",
       "      <td>-0.524758</td>\n",
       "      <td>0.050715</td>\n",
       "      <td>-10.347146</td>\n",
       "      <td>7.776912e-23</td>\n",
       "      <td>0.740643</td>\n",
       "      <td>0.73379</td>\n",
       "      <td>-0.624404</td>\n",
       "      <td>-0.425113</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        names       coef        se          T          pval        r2  \\\n",
       "0   Intercept  36.459488  5.103459   7.144074  3.283438e-12  0.740643   \n",
       "1          x1  -0.108011  0.032865  -3.286517  1.086810e-03  0.740643   \n",
       "2          x2   0.046420  0.013727   3.381576  7.781097e-04  0.740643   \n",
       "3          x3   0.020559  0.061496   0.334310  7.382881e-01  0.740643   \n",
       "4          x4   2.686734  0.861580   3.118381  1.925030e-03  0.740643   \n",
       "5          x5 -17.766611  3.819744  -4.651257  4.245644e-06  0.740643   \n",
       "6          x6   3.809865  0.417925   9.116140  1.979441e-18  0.740643   \n",
       "7          x7   0.000692  0.013210   0.052402  9.582293e-01  0.740643   \n",
       "8          x8  -1.475567  0.199455  -7.398004  6.013491e-13  0.740643   \n",
       "9          x9   0.306049  0.066346   4.612900  5.070529e-06  0.740643   \n",
       "10        x10  -0.012335  0.003761  -3.280009  1.111637e-03  0.740643   \n",
       "11        x11  -0.952747  0.130827  -7.282511  1.308835e-12  0.740643   \n",
       "12        x12   0.009312  0.002686   3.466793  5.728592e-04  0.740643   \n",
       "13        x13  -0.524758  0.050715 -10.347146  7.776912e-23  0.740643   \n",
       "\n",
       "     adj_r2   CI[2.5%]  CI[97.5%]  \n",
       "0   0.73379  26.432226  46.486751  \n",
       "1   0.73379  -0.172584  -0.043438  \n",
       "2   0.73379   0.019449   0.073392  \n",
       "3   0.73379  -0.100268   0.141385  \n",
       "4   0.73379   0.993904   4.379563  \n",
       "5   0.73379 -25.271634 -10.261589  \n",
       "6   0.73379   2.988727   4.631004  \n",
       "7   0.73379  -0.025262   0.026647  \n",
       "8   0.73379  -1.867455  -1.083679  \n",
       "9   0.73379   0.175692   0.436407  \n",
       "10  0.73379  -0.019723  -0.004946  \n",
       "11  0.73379  -1.209795  -0.695699  \n",
       "12  0.73379   0.004034   0.014589  \n",
       "13  0.73379  -0.624404  -0.425113  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lm = pg.linear_regression(X, y)\n",
    "lm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>            <td>y</td>        <th>  R-squared:         </th> <td>   0.741</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th> <td>   0.734</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th> <td>   108.1</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Fri, 05 Jun 2020</td> <th>  Prob (F-statistic):</th> <td>6.72e-135</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>03:50:32</td>     <th>  Log-Likelihood:    </th> <td> -1498.8</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td>   506</td>      <th>  AIC:               </th> <td>   3026.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>   492</td>      <th>  BIC:               </th> <td>   3085.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>    13</td>      <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td>   36.4595</td> <td>    5.103</td> <td>    7.144</td> <td> 0.000</td> <td>   26.432</td> <td>   46.487</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x1</th>    <td>   -0.1080</td> <td>    0.033</td> <td>   -3.287</td> <td> 0.001</td> <td>   -0.173</td> <td>   -0.043</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x2</th>    <td>    0.0464</td> <td>    0.014</td> <td>    3.382</td> <td> 0.001</td> <td>    0.019</td> <td>    0.073</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x3</th>    <td>    0.0206</td> <td>    0.061</td> <td>    0.334</td> <td> 0.738</td> <td>   -0.100</td> <td>    0.141</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x4</th>    <td>    2.6867</td> <td>    0.862</td> <td>    3.118</td> <td> 0.002</td> <td>    0.994</td> <td>    4.380</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x5</th>    <td>  -17.7666</td> <td>    3.820</td> <td>   -4.651</td> <td> 0.000</td> <td>  -25.272</td> <td>  -10.262</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x6</th>    <td>    3.8099</td> <td>    0.418</td> <td>    9.116</td> <td> 0.000</td> <td>    2.989</td> <td>    4.631</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x7</th>    <td>    0.0007</td> <td>    0.013</td> <td>    0.052</td> <td> 0.958</td> <td>   -0.025</td> <td>    0.027</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x8</th>    <td>   -1.4756</td> <td>    0.199</td> <td>   -7.398</td> <td> 0.000</td> <td>   -1.867</td> <td>   -1.084</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x9</th>    <td>    0.3060</td> <td>    0.066</td> <td>    4.613</td> <td> 0.000</td> <td>    0.176</td> <td>    0.436</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x10</th>   <td>   -0.0123</td> <td>    0.004</td> <td>   -3.280</td> <td> 0.001</td> <td>   -0.020</td> <td>   -0.005</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x11</th>   <td>   -0.9527</td> <td>    0.131</td> <td>   -7.283</td> <td> 0.000</td> <td>   -1.210</td> <td>   -0.696</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x12</th>   <td>    0.0093</td> <td>    0.003</td> <td>    3.467</td> <td> 0.001</td> <td>    0.004</td> <td>    0.015</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>x13</th>   <td>   -0.5248</td> <td>    0.051</td> <td>  -10.347</td> <td> 0.000</td> <td>   -0.624</td> <td>   -0.425</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>178.041</td> <th>  Durbin-Watson:     </th> <td>   1.078</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.000</td>  <th>  Jarque-Bera (JB):  </th> <td> 783.126</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td> 1.521</td>  <th>  Prob(JB):          </th> <td>8.84e-171</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td> 8.281</td>  <th>  Cond. No.          </th> <td>1.51e+04</td> \n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.<br/>[2] The condition number is large, 1.51e+04. This might indicate that there are<br/>strong multicollinearity or other numerical problems."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                      y   R-squared:                       0.741\n",
       "Model:                            OLS   Adj. R-squared:                  0.734\n",
       "Method:                 Least Squares   F-statistic:                     108.1\n",
       "Date:                Fri, 05 Jun 2020   Prob (F-statistic):          6.72e-135\n",
       "Time:                        03:50:32   Log-Likelihood:                -1498.8\n",
       "No. Observations:                 506   AIC:                             3026.\n",
       "Df Residuals:                     492   BIC:                             3085.\n",
       "Df Model:                          13                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const         36.4595      5.103      7.144      0.000      26.432      46.487\n",
       "x1            -0.1080      0.033     -3.287      0.001      -0.173      -0.043\n",
       "x2             0.0464      0.014      3.382      0.001       0.019       0.073\n",
       "x3             0.0206      0.061      0.334      0.738      -0.100       0.141\n",
       "x4             2.6867      0.862      3.118      0.002       0.994       4.380\n",
       "x5           -17.7666      3.820     -4.651      0.000     -25.272     -10.262\n",
       "x6             3.8099      0.418      9.116      0.000       2.989       4.631\n",
       "x7             0.0007      0.013      0.052      0.958      -0.025       0.027\n",
       "x8            -1.4756      0.199     -7.398      0.000      -1.867      -1.084\n",
       "x9             0.3060      0.066      4.613      0.000       0.176       0.436\n",
       "x10           -0.0123      0.004     -3.280      0.001      -0.020      -0.005\n",
       "x11           -0.9527      0.131     -7.283      0.000      -1.210      -0.696\n",
       "x12            0.0093      0.003      3.467      0.001       0.004       0.015\n",
       "x13           -0.5248      0.051    -10.347      0.000      -0.624      -0.425\n",
       "==============================================================================\n",
       "Omnibus:                      178.041   Durbin-Watson:                   1.078\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              783.126\n",
       "Skew:                           1.521   Prob(JB):                    8.84e-171\n",
       "Kurtosis:                       8.281   Cond. No.                     1.51e+04\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "[2] The condition number is large, 1.51e+04. This might indicate that there are\n",
       "strong multicollinearity or other numerical problems.\n",
       "\"\"\""
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# adding the constant \n",
    "X = sm.add_constant(X)\n",
    "\n",
    "# estimating the model\n",
    "model = sm.OLS(y, X)\n",
    "results = model.fit()\n",
    "\n",
    "results.summary()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
